python的包导入问题(一)from . import 的使用 | 您所在的位置:网站首页 › on a from的意思 › python的包导入问题(一)from . import 的使用 |
必备知识:from . import,“.” 代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数
一、问题描述: 工作项目内的__init__文件初始化一个函数func,同一工作目录的 ccc模块 调用该函数,可以用: (1)from file03 import func(2)from . import func然后执行func(),让ccc执行时,打印‘----’ from . import func SystemError: Parent module '' not loaded, cannot perform relative import (提示父模块没有加载,无法展示导入关系) 而使用第(1)种导入方法 导入时不存在这样的报错 二、下面用项目外的py文件导包使func执行:现在我在工作目录下新建一个py文件test(test与file03平级),使用test调用ccc,让函数func打印内容: 此时若在ccc使用方法(2)导入函数,test执行不会发生报错 可以正常打印 三、拓展:在file03 下新建py文件,使用 from . import ccc,该文件被执行时,也会报同样的错误,而用from file03 import ccc不会报错,说明使用 . 导包和使用 . 导函数一样也不能正常执行 四、结论:py文件若含有from . import 导包或导入函数的情况,无法在该文件下正常执行,而父模块被外部加载时可以正常被使用。 |
CopyRight 2018-2019 实验室设备网 版权所有 |